//
//  ScheduleBaseLite.h
//  FMS
//
//  Created by Steven on 10/20/13.
//  Copyright (c) 2013 QGSVN. All rights reserved.
//

#import "Titled.h"

@interface ScheduleBaseLite : Titled

/** Returns a query for all the lists in a database. */
+ (NSMutableArray*) queryListsInDatabase: (CBLDatabase*)db;
+ (NSMutableArray*) queryListsInDatabase: (CBLDatabase*)db byCategory:(NSMutableDictionary *)category;
+ (NSMutableArray*) queryListsInDatabase: (CBLDatabase*)db byIdCategory:(int)categoryId;

+ (NSMutableArray*) queryScheduleInStart:(NSString *)startDate endDate:(NSString *)endDate from:(int)indexFrom  numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByIdCategory:(int)categoryId inStart:(NSString *)startDate endDate:(NSString *)endDate from:(int)indexFrom numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByCategory:(NSMutableDictionary *)category inStart:(NSString *)startDate endDate:(NSString *)endDate from:(int)indexFrom numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByFilterDict:(NSMutableDictionary *)filterDict from:(int)indexFrom numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByItemId:(NSMutableDictionary *)filterDict from:(int)indexFrom numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByContractor:(NSString *)contractorId inStart:(NSString *)startDate endDate:(NSString *)endDate from:(int)indexFrom  numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByIdCategory:(int)categoryId byContractor:(NSString *)contractorId inStart:(NSString *)startDate endDate:(NSString *)endDate from:(int)indexFrom numberPage:(int)count;

+ (NSMutableArray*) queryScheduleByCategory:(NSMutableDictionary *)category byContractor:(NSString *)contractorId inStart:(NSString *)startDate endDate:(NSString *)endDate from:(int)indexFrom numberPage:(int)count;

+ (NSMutableArray*) queryByContractor:(NSString *)contractorId ListsInDatabase: (CBLDatabase*)db;

- (instancetype) initInDatabase:(CBLDatabase *)database withTitle:(NSString *)title;

@end
